#ifndef _RETRO_AUDIODEVICE
#define _RETRO_AUDIODEVICE

namespace Retro
{
  namespace Device
  {
    namespace Audio
    {
      class AudioDevice;

      class DLLEXPORT Track : public Device::FileResource
      {
      private:

      protected:

      public:
        INL Track(Device::LibraryType iLibrary) :
          FileResource(iLibrary, Device::ResourceTrack)
        {
        }

        friend class AudioDevice;
      };

      class DLLEXPORT AudioDevice : public Device::IDevice
      {
      private:

      protected:

      public:
        INL AudioDevice(Device::LibraryType iLibrary) : 
            IDevice(Device::DeviceAudio, iLibrary)
        {
        }
        INL virtual ~AudioDevice() 
        {
        }
      };

      DLLEXPORT AudioDevice* CreateDevice(LibraryType iLibrary);
    } // namespace Audio
  } // namespace Device
} // namespace Retro

#endif
